System and method for factorizing light in a sequence of images

ABSTRACT

A method factorizing a sequence of images acquired of a scene into lighting components. The scene is illuminated by a moving light source. An appearance profile is constructed for each pixel in the sequence of images. The appearance profile is a vector representing intensities of the pixel at instances in time. The appearance profiles are factorized into a shadow component, a skylight component, and a sunlight component.

FIELD OF THE INVENTION

This invention relates generally to image processing, and moreparticularly to factorizing a light field observed a sequence of imagesinto meaningful, lower-dimensional components that completely describethe scene.

BACKGROUND OF THE INVENTION

Light Field Factorization

Factorization is a process for decomposing data into meaningfulcomponents, or factors. One kind of data related to this invention arelight fields, which describe the transport of light throughout a scene.A number of light field factorization methods are known, see U.S. Pat.No. 7,062,419 to Grzeszczuk, et al, issued Jun. 13, 2006, “Surface lightfield decomposition using non-negative factorization,” and U.S. PatentApplication 20040249615, Grzeszczuk et al. published Dec. 9, 2004,“Surface light field decomposition using non-negative factorization.”Those methods use approximate graphical representations of objects,instead of images of real world scenes.

One factorization, method decomposes complex surface reflectancefunctions (spatially varying BRDFs) into a sum of products of lowerdimensional (1D or 2D) components, Lawrence et al., “Inverse Shade Treesfor Non-Parametric Material Representation and Editing,” ACM. Trans. onGraphics (also Proc. of ACM SIGGRAPH) (July) 2006 incorporated herein byreference. A similar method decomposes a time-varying surface appearanceinto a low dimensional representation that is space-time dependent, Guet al., “Time-varying Surface Appearance: Acquisition, Modeling, andRendering. ACM Trans, on Graphics, 2006. Both of those methodsaccomplish similar goals. They factorize large datasets of complexsurface reflectance into terms that are compact, and at the same time,physically meaningful and editable. Because they acquire and model thefull eight-dimensional BRDF, they can render under any viewing,lighting, and in the case of Gu et al, temporal condition. The primarygoal of their work is to compute shade trees in computer graphicapplications. However, the complexity of the BRDF acquisition makesthose methods impractical for complex, outdoor scenes.

Inverse rendering measures attributes, such as lighting, textures, andthe BRDF from images. Most prior art focuses on small objects and indoorscenes. One method recovers photometric properties from images ofbuildings, Debevec et al., “Estimating Surface Reflectance Properties ofa Complex Scene under Captured Natural Illumination, USC ICT TechnicalReport ICT-TR-06.2004, 2004. They are able to relight and generatephoto-realistic images from arbitrary viewpoints. However, their methodsrequire measurements of the incident illumination and surface materialsand a 3D model of the scene geometry. That makes the method impracticalfor outdoor scenes.

Another method separates the light field in a scene into direct andglobal components using controlled lighting, Nayar et ah, “FastSeparation of Direct and Global Components of a Scene using HighFrequency Illumination,” ACM Trans. on Graphics, 2006. Obviously, it isimpossible to control the lighting in outdoor scenes.

Therefore, it is desired to factor a sequence of images acquired ofcomplex indoor or outdoor scenes into meaningful components thatcompletely describe the scene.

Time-Lapse Photography

In time-lapse photography, a sequence of images (video) is acquired at aslow rate, and rendered at a high rate. Thus, time seems to lapsefaster. Conventional time-lapse photography is often used for outdoorscenes, e.g., tidal flows, blooming flowers, and weather and trafficpatterns. Time-lapse photography is also frequently used in surveillanceapplications.

Time-lapse photography can generate a large amount of data. For example,a single camera that takes an image every five seconds produces 17,280images per day, or close to a million images per year. Image compressioncan reduce the storage requirements, but the reconstructed imagestypically suffer from annoying artifacts and are not very useful forfurther image analysis. In addition, it is difficult to edit the imagesin a time-lapse sequence, and advanced image-based rendering operations,such as relighting are impossible.

Therefore, a key challenge in dealing with time-lapse videos is toprovide a representation that efficiently reduces storage requirementswhile allowing advanced image editing and useful image analysis.

One method uses intrinsic images to represent intrinsic characteristicsof a scene, such as illumination, reflectance, and surface geometry,Barrow et al., “Recovering intrinsic scene characteristics from images,”Academic Press, 1978. Another method uses a maximum-likelihood frameworkto estimate a single reflectance image and multiple illumination imagesfrom time-lapse video, Weiss, “Deriving Intrinsic Images from ImageSequences,” IEEE International Conference on Computer Vision (ICCV), II:68-75, 2001. That method was extended to derive time-varying reflectanceand illumination images from a surveillance video, Matsushita et al.,“Illumination normalization with time-dependent intrinsic images forvideo surveillance,” CVPR, IEEE Computer Society, 3-10, 2003.

Another method use time-lapse images to determine a reflectance field ofa scene for a fixed viewpoint, Matusik et al, “Progressively-RefinedReflectance Functions from Natural Illumination,” Eurographics Symposiumon Rendering, Keller et al., Eds., 299-308, 2004. They represent imagesas a product of the reflectance field and incident illumination.However, that method requires estimating the incident illumination usingan additional light probe camera. The estimated reflectance field lightcombines the effects of reflectance and shadows. That method is onlysuitable for studio settings and not outdoor scenes.

Another method acquires image sequences with a randomly moving lightsource to cluster the image into regions that have similar normals,Koppal et al., “Appearance Clustering: A Novel Approach to SceneAnalysis,” IEEE Conference on Computer Vision and Pattern Recognition(CVPR), 2006, incorporated herein by reference. The normal clusters canbe used for a variety of computer vision applications, including thedecomposition of the image into the terms of a linearly separablebidirectional reflectance distribution function BRDF.

SUMMARY OF THE INVENTION

The embodiments of the invention provide a method for factorizing asequence of images (video) into shadow, sunlight, and skylightcomponents. The factorization enables a user to relight a scene, recovera portion of the scene geometry, e.g., the surface normals, and toperform image editing applications.

In one embodiment of the invention, the images are acquired of outdoorscenes using time-lapse photography. The camera is fixed, and the sceneis mostly stationary. The scene can be illuminated by sunlight ormoonlight. In this case, the scene will include lighting patterns,including shadows, which slowly evolve over time as the earth rotates.

The method locates onsets of the shadows using a profile of intensitiesfor each pixel in the images, which varies over time. The profiles arecalled appearance profiles. There is one time evolving appearanceprofile for each pixel.

The method factors the appearance profiles into shadow, sunlight andskylight components.

The sequence of images form a spatio-temporal volume of pixels. Thevolumes are analyzed using matrix factorization to obtain two sets ofbasis matrices representing variation of pixel intensities over time,together with per pixel offsets, and intensity scaling of the basismatrices that represent spatial variation. The resulting representationis compact, and compresses the entire sequence of images, be it for aday or a year or more, into three images, two sets of basis matrices,and a compressed representation for shadows.

Reconstructions and rendering from these compressed data representationshow better error characteristics than conventional compression methods.The representations can be edited by a user to re-render the scene, orto modify illumination, reflectance, shadow and geometric properties inthe scene. The shadows can be discarded or retained, depending on theapplication. Other outliers, such as moving pedestrians or vehicles canbe handled explicitly or implicitly.

The embodiments of the invention can also be used for a variety ofcomputer vision applications, such as background modeling, imagesegmentation, and scene reconstruction. Other applications for theinvention include shadow removal, advanced image editing, and pictorialrendering.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features characteristics of the invention are set forth in theappended claims. The present invention is illustrated by way of example,and not by way of limitation, in the Figures of the accompanyingdrawings and in which like reference numerals refer to similar elements.The invention itself, however, as well as a preferred mode of use, isbest be understood by reference to the following detailed description ofillustrative embodiments when read in conjunction with the accompanyingdrawings:

FIG. 1A is a flow diagram of a method for factorizing a sequence ofimages according to an embodiment of the invention;

FIG. 1B is a detailed flow diagram of the method of FIG. 1A;

FIG. 2 is an example image processed by the method of FIGS. 1A-1B;

FIG. 3 is a schematic of appearance profiles according to an embodimentof the invention;

FIG. 4 is a binary shadow image according to an embodiment of theinvention;

FIG. 5 is a final shadow image after edge-preserving bi-lateralfiltering according to an embodiment of the invention;

FIGS. 6, 7, and 8 are shadow, skylight and sunlight profiles accordingto an embodiment of the invention;

FIG. 9 is a schematic of appearance profiles;

FIG. 10 is a schematic of scaled and weighted appearance profiles ofFIG. 9, and a basis profile according to an embodiment of the invention;and

FIGS. 11A-11D are images processed according to the embodiments of theinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows the basic idea of one embodiment of our invention. A camera110 acquires a sequence of images (frames) 101 of a scene 102. The scene102 is primarily illuminated by a moving source 104 of direct light. Thedotted lines represent viewing rays 103. In a preferred embodiment, theimage sequence 101 is a time-lapse video of an outdoor scene 102A-102B.Note the reversal of the shadows in the scene over time t. However, itshould be understood that the invention can also be worked withnon-time-lapse videos, and indoor scenes that have some form of movabledirect lighting.

Lighting Factors

In real world scenes, the various factors that contribute to the lightobserved by a camera are numerous and complex. There can be directillumination, which, can include sunlight, moonlight, or one or moreartificial sources of light. Indirect illumination includes all otherlight, such as skylight and direct light transported to the camera byother means. The effects of indirect illumination are mostly visible inshadows, e.g., the shadows cast by a building. Reflectance is the amountof incoming light that is reflected by a surface. Reflectance usuallydepends on the incoming light and the outgoing view directions. If theview direction is fixed, the reflectance only depends on the incominglight.

To simplify this description, we factor a light field observed by acamera into sunlight and skylight, and shadow components. Therefore,without loss of generality, we use the terms sunlight image, sunlightbasis matrix, sunlight profiles, skylight image, skylight basis matrix,skylight profiles, shadow image and shadow profile to explain thefactors. It should be understood that the same terms can be used forindoor scenes, where the light source or sources are natural and/orartificial, for example, the ‘sunlight’ is a moving spotlight, and‘skylight’ is ambient lighting.

Appearance Profiles

For each unique (x,y) location of a pixel P in the sequence of images101, an appearance profile 131 is constructed 130. The appearanceprofile represents a time evolving appearance of the scene at thatpixel. For example, if the image has 1000×1000 pixels, then there are amillion appearance profiles. There is one intensity value for each imageor frame in each profile. The appearance profiles are factored 140 toproduce shadow 141, sunlight 148, and skylight components 143representative of the time evolving appearance of the scene 102. Thecomponents 141-143 can be uses to reconstruct 150 a reconstructed imagesequence 151 or novel video.

Shadow Component

The shadow component 141 includes a shadow profile for each pixel. Eachshadow profile has a bit for each frame, i.e., instance in time. The bitis zero if the pixel is a shadow at that particular time, and oneotherwise. Thus, the shadow profiles are a highly compressed binaryrepresentation of time evolving shadow patterns, primarily due to themoving 105 light source 104.

Sunlight Component

The sunlight component 142 includes a sunlight image 145 in a form ofweights W_(sun). Thus, a single image is used to represent theappearance of the scene 102 due to direct sunlight over the entire timespan of the sequence 101. A sunlight basis matrix H_(sun)(t) is forspatial scaling, and an offset image Φ 171 provides temporal scaling,where H_(sun) is temporal curve, W_(sun) is spatial scaling and Φ aretemporal offsets.

Skylight Component

The skylight component 143 includes a single skylight image W_(sky) 146,and a skylight basis matrix H_(sky)(t) 149.

Details

As shown in FIG. 1B, the embodiments of our invention provide a method100 for factoring the sequence of images 101, i.e., a video, acquired ofthe scene 102 overtime 106 into the shadow, sunlight, and skylightcomponents 141-143. Our goal is to decompose the spatio-temporal-timevolume of the time-lapse image sequence 101 images so as to enable us toanalyze and edit the video, and generate a novel video, e.g., a scenewithout shadow as shown in FIG. 11B or a scene with different skylightas shown in FIG. 11C.

Therefore, we estimate 160 shadow, factor skylight 170, skylight 171. Wesubtract 175 the skylight 171 to obtain the sunlight 176, and factor 180the sunlight 176.

Image Formation

The process of image formation for an image or frame F(t) the sequence101 can be represented byF(t)=T(t)L(t),  (1)where T is a light field transport matrix field, and L is a viewing ray103, i.e., L is moving 105 light 104. Each pixel F^(i)(t) 120 in theframe F stores an intensity value along the viewing ray in somedirection. The matrix T completely describes the transport of energyfrom light to viewing rays, including shadowing, absorption, reflection,translucence and scattering effects. Be factoring the transport matrix Tinto the shadow component 141 and the skylight component 146, we obtainF(t)=(R(t)*S(t)L(t),  (2)where ‘*’ denotes an element-by-element multiplication, S represents ashadow image 144, and R is a skylight image. A pixel in the shadow imageS has a value of zero to indicate the presence of shadows at that pixeland time instance, otherwise the pixel is one. That is the shadow imageis a binary image, see FIGS. 4-5. The skylight image R(t) 149 varieswith time 106 because the skylight image includes the effects ofinter-reflections and light scattering in the scene 102 illuminated bythe moving light source 104.

We can approximate the incident lighting in the scene as a sum of anambient term L_(sky)(t) due mostly to atmospheric scattering, and asingle-directional L_(sun)(t), corresponding to the sunlight (ormoonlight) 104.F(t)=(R(t)*S _(sky))L _(sky)(t)+(R(t)*S _(sun)(t)L _(sun)(t).  (3)

This approximation neglects sources of artificial lighting in the scene,such as streetlights and spotlights. Because the separation of sunlightand reflectance under diffuse lighting is ill-posed, we collapse thefirst term according toF(t)=I _(sky)(t)+(R(t)*S _(sun)(t)L _(sun)(t)=I _(sky)(t)+I_(sun)(t)  (4)

Remarkably and in contrast with the prior art, we estimate I_(sky)(t),S_(sun)(t), and R(t) from the sequence of frames F(t) 120 withoutknowledge of the geometry of the scene, material properties of surfacesin the scene, direction and intensity of the incident lighting, andcamera calibration.

We estimate I_(sky)(t) from pixels that are in shadow, whereas directlyilluminated pixels include I_(sky)(t)+ I_(sun)(t).

Shadow Estimation

FIG. 2 shows one frame 120 of the image sequence 101. We use this frameand pixels (not to scale) A 201, B 202, and C 203 throughout thisdescription. The method described herein is performed independently andidentically on all three RGB color channels.

We assume that the intensity of the pixels 120 is due to directillumination and reflection from surfaces in the scene. Therefore,portions of the image that show the sky 210 are segmented out. Later wecan composite the sky portion back into reconstructed images 151. Thishas the added benefit that we preserve moving clouds, which can be animportant visual component in time-lapse videos.

As the sun 104 moves 105 due to rotation of the earth, the observationsat the pixels A, B and C in the sequence 101 result in a continuousappearance profile, as shown in FIG. 3. In FIG. 3, the vertical axisindicates the pixel intensity (0-255) for the three pixels 201-203, thehorizontal axis time (t) 106 or frame number, the jagged curves 301 theappearance profile 131, and the dotted curves the shadow profile 144.Note the ‘intensity’ for the shadow profile, as shown, is either zero or1 to indicate in and out of a shadow.

The appearance profile 131 is a vector of intensities F_(i)(t) 131measured at pixel P_(i) over time 106. It is a complicated function ofthe illumination, scene geometry, and surface reflectance. The pixelintensities change dramatically when illuminated directly or when thepixels 201-203 are in a shadow. We use drastic variation(discontinuities indicated by arrows) in the appearance profiles 133 toestimate the shadow profiles 147.

First, we determine a median value m_(min) of the n smallest intensitiesat each pixel location. We typically assume that each pixel is in ashadow some fraction of time, e.g., ⅕, so n is 20% of the total numberof frames in the sequence. If F_(i)(t) greater than a thresholdkm_(min), then we set the shadow profile S_(i)(t) 147 to ‘one’ for eachframe and to ‘zero’ otherwise. We find heuristically that k=1.5 workswell for most image sequences. Other thresholding techniques can also beused.

FIG. 4 shows a shadow image for frame 275. We call this a binary shadowimage, because pixel values are either 0 or 1. It is generally quitenoisy due to moving objects e.g., trees, vehicles, or people, andchanges in the illumination, e.g., due to clouds. Therefore, todetermine the final shadow image S_(sun) 144, we use an edge-preservingbi-lateral filter to produce the final shadow image as shown in FIG. 5.The insets 401 and 501 indicate close ups. We could improve the shadowimages by explicitly removing moving objects, either by determiningmedian images for short time intervals in the input sequence, or byusing background models and a conventional object segmentationprocedure.

Factorization

One idea of our invention is that for an outdoor sequence of images 102under a mostly clear-sky conditions, the appearance profiles 131 of allpixels in the scene are similar up to an offset along the time axis 106and a scale factor along the intensity axis. This is an extension oforientation-consistency as described by Hertzmann et al., “Example-BasedPhotometric Stereo: Shape Reconstruction with General, Varying BRDFs,”IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI)27, 8 (August), 1254-1264 2005, incorporated herein by reference.

The basic idea is that similarly textured and similarly orientedsurfaces reflect light in a similar manner. Hertzmann et al, determinethe surface normals of an object that has been imaged together with, areference objects with a similar shape and similar texture, e.g.,spherical and similar BRDF. They use a metric that matches intensityextrema and unsupervised clustering to determine orientationconsistencies between scene points of unknown normals and BRDFs. Theirmethod is described for simple objects with similar textures in simplescenes in a studio setting with controlled artificial lighting.

Surprisingly, we estimate surface normals for complex outdoor sceneswith unknown shapes, orientations and textures. Our idea is that themoving light source 104 provides different lighting over time. Thismeans that, under the right conditions, two pixels with the same surfaceorientation have a similar appearance in the images 101. Scene pointswith different surface normals often exhibit extrema (highlights orspecularities) in their appearance profiles at different time instances,irrespective of their material properties, see Koppal et al. above.

Therefore, in contrast with the conventional orientation-consistencymethod, our method factors the contributions of shadows, skylight, andsunlight. We represent the corresponding appearance profiles 131 as alinear combination of basis matrices that are offset and scaled. Unlikethe prior art, we are not able to fit a simple analytic model, such asthe Phong illumination model, to our complex scene. Therefore, we use adata-driven process.

This process determines the basis profile 1000. There is one basisprofile 148 for sunlight, and another basis function 149 for skylight.All the data over time, i.e., the appearance profiles 131, at each pixel120 can be ‘explained’ by time offsetting the basis profile 100 andscaling the profile by some weight w_(ij). The weights are stored in thesunlight image 145. An offset image Φ 171, with an offset for each pixelapproximates the surface normal of the corresponding scene point. Thatis, the offset image 171 represents the geometry of the scene 102. Wecan also have a skylight offset image. However, for outdoor scenes, theskylight is low intensity and noisy, see FIG. 6. A skylight offset imagemay be appropriate for controlled indoor scenes.

FIG. 6 shows the appearance profiles 601 when pixels, A, B, and C201-203 are in a shadow, and the estimated skylight profiles 602. Notethe decrease in the scale of the vertical intensity axis. FIG. 7 showsthe appearance profiles 701 when pixels A, B, and C are in the sun, andthe estimated sunlight profiles 702. The arrows 704 indicate a directionof the time offset of the basis profiles. FIG. 8 shows the originalappearance profiles 801 and the sum of sunlight and skylight profiles802.

Multiplying F_(i)(t) by S_(i)(t) yields the appearance profile of frameswhen the pixels are directly illuminated by the sun and atmospheric(sky) light as shown in FIG. 7. Based on our idea, we approximateI_(sun)(t) with a matrix H_(sun)(t) 148, modified by per-pixel weightsW_(sun) 145. In addition, we allow a per-pixel offset Φ 171 to thesunlight profileI _(sun,i)(t)≈W _(sun,l) H _(sun)(t+Φ _(i)).  (5)

We call the weight matrix W_(sun) the sunlight or sunlight image 145,and H_(sun)(t) the sunlight basis matrix 148. The weight matrixW_(sun)(t) 145 is an estimate for the skylight image R(t) in Equation 4,up to the unknown scale factor L_(sun)(t). In other words, the sunlightimage represents the scene when directly illuminated. Multiplying theappearance profiles F_(i)(t) shown in FIG. 3 by (1−S_(i)(t)) yields theappearance profile of pixels in shadows as shown in FIG. 6.

In order to estimate I_(sky)(t) in Equation (4), we determine the singlesunlight-vs.-time basis matrix H_(sky) 146 for the entire image sequence101, such that the appearance of any pixel P_(i) can be represented asI _(sky,i)(t)≈W _(sky,i) H _(sky)(t).  (6)

We call the matrix W_(sky) of per-pixel weights the skylight image 145,and H_(sky)(t) the skylight basis matrix 149. As stated above, we do notapply an offset to the skylight basis matrix in Equation (6) because thediffuse nature of skylight makes the offset hard to estimate. Theskylight matrix can be offset for indoor scenes.

Factorizing Appearance Profiles

Our factorization is based on art alternating constrained least squares(ACLS) procedure to decompose the appearance profiles 131 into the W andH factors, see Lawrence et al. above. There, ACLS is applied to theproblem of decomposing measured data into intuitively editablecomponents. We adapt the ACLS procedure to our method for decomposingthe appearance profiles 131. ACLS can also incorporate a confidencematrix C to deal with missing data. Setting an entry of the matrix C tozero causes the corresponding measurement to have no effect on thefactorization. We use the matrix C to decompose the skylight andillumination components.

We apply ACLS in two separate steps to factor a matrix storing themeasured spatio-temporal appearance profiles F(t) 131. First, we factorI_(sky)(t)≈W_(sky)H_(sky)(t). Then, we solve for the corresponding termscorresponding to the illumination profile I_(sun)(t). More formally,each application of ACLS decomposes an m×n data matrix F(t) into aproduct of the n×k weight matrix W and a k×m is the basis matrix H(t),where m is the number of pixels in the image and n is the number offrames in the sequence 101. All decompositions are performed separatelyand identically on the three color channels of the data.

In order to adapt the conventional ACLS to handle the offsets necessaryto implement Equation (5), we modify the iterative update stage of theprocedure. Specifically, the conventional procedure according toLawrence et al., alternates between phases in which H(t) is held fixed,while the matrix W is optimized using least squares, then vice versa.This is an instance of the principle of expectation maximization ininference.

In order to incorporate the offsets Φ_(i), we shift the entire matrixH(t) by +Φ_(i) when updating the matrix W_(i) and, similarly, shift eachrow i of the matrix F(t) by −Φ_(i) during updates of the matrix H(t).Finally, we also use a third update phase during the iteration, in whichwe update the offsets Φ_(i) by determining, for each pixel, the offsetthat minimizes the Euclidean error between the linear combination of thebasis matrices H(t) with Φ(t).

FIG. 9 shows example appearance profiles 131 for pixels A, B, and C201-203. FIG. 10 shows the corresponding aligned appearance profiles andestimated illumination profile 1000. The appearance profiles werealigned using the estimated offsets Φ_(i) and scaling weights for thepixels A, B, and C.

Skylight Images

In order to consider only shadowed pixels, we store (1−S_(i)(t))row-wise in the confidence matrix C. This is a different strategy fromusing interpolation to fill in data for pixels under directillumination, as we would need for factorization methods that do notconsider confidence. However, because we have many frames in thesequence, the system of equations is highly over-constrained for a smallnumber of basis profiles. Intuitively, if we are missing data at onepixel, then we probably observe the data at another pixel with a similarnormal (offset) and appearance profile.

FIG. 10 shows the skylight basis profile, and its fit to the appearanceprofiles. FIG. 11B shows skylight image W_(sky), i.e., no sunlight FIG.11C shows a reconstructed sunlight image I_(sky)(t), i.e., no skylight.The lighting is related to both surface albedo and ambient occlusion,where the ambient term for a pixel on a surface is determined by howoccluded that pixel is by other surfaces in the scene, i.e., the darkerthe pixel, the less skylight the pixel receives or reflects.

Sunlight Images

The skylight images I_(sky)(t) are subtracted from the original imagesF(t) to form the sunlight images I_(sun)(t). We store the matrixS_(i)(t) row-wise in the confidence matrix C. Thus, we only considerpixels that are not in shadow during the factorization.

We apply ACLS to find the basis matrix H_(sun), the sunlight imageW_(sun), and the offsets Φ_(i). The initialization of the offsets Φ_(i)enables the ACLS to convergence. We typically use random values in therange [−(n/2),+(n/2)], although different ranges are also possible.

FIG. 7 shows the sunlight basis matrix H_(sun)(t) and its fit to theinput data. FIG. 11B shows the skylight image I_(sky). FIG. 11C shows areconstructed sunlight image I_(sun)(t) without the skylight component.The harsh black shadows in the reconstructed image I_(sun)(t) aresimilar to images taken on extraterrestrial bodies lacking lightscattering, such as the moon and mars.

Reconstruction Quality

Interestingly, our shadow estimation picks up the shadows of movingobjects. In some cases, we can filter the shadow images S(t) in thetemporal domain to remove flickering of spurious shadows. As describedabove, we can remove these motion artifacts with a suitable computervision background model. This effectively removes the “ghost” shadows ofmoving objects.

Compression

Our method is a very efficient representation for a lengthy imagesequence. We store the sunlight, skylight and offset images usinghigh-quality JPEG compression. The binary shadow profiles are stored perpixel using interval encoding and Lempel-Ziv-Welch (LZW) compression.The basis matrices can be stored in conventional files. The compressionefficiency, depending on a complexity of the scale can range from threeor more orders of magnitude.

Editing and NPR

As an advantage, our method factors the scene 102 into physicallymeaningful components 141-143. Each component can be edited to generateinteresting effects. We can edit the offset image 171 to affect theappearance of surfaces by changing their pseudo-normals, see FIG. 11D.Edits to the sunlight image and sunlight profile have an effect onsurface reflectance. We can also selectively remove shadows, forexample, for buildings in the background. Note that by simply editingonly the three sunlight, skylight and offset images, we can affect theentire reconstructed image sequence 151.

We can also generate non-photorealistic (NPR) effects, and stylizedimages and videos. First, we transform the offset image Φ topseudo-normals by mapping offsets to angles along the arc 105 thatcorresponding to the movement of the direct light source 104. In orderto increase the plausibility of the normals, we apply a small offset tothe normals based on a ratio between the sunlight and skylight images,reasoning that vertical surfaces generally receive less directillumination than do horizontal surfaces. While these normals arecertainly not accurate, we nevertheless expect that they are related tothe true normals by some continuous function. The normals are sufficientas input to rendering techniques such as exaggerated shading, which seekto emphasize local differences between normals. We generate our finalNPR results by compositing the exaggerated shading with the sun and skycolor maps, as well as optionally the shadow images. Note that theprocess is temporally coherent over time, leading to smooth videoresults.

Effect of the Invention

FIGS. 11A-11D are images processed according to the embodiment of theinvention. FIG. 11A is an input image, FIG. 11B a reconstructed imagewithout shadows. FIG. 11C a reconstructed image illuminated only withdirect sunlight, and lacking atmospheric skylight. Note the ‘moon-like’appearance. FIG. 11D is an image with modified to include an artificialsign board 1101.

The scene components according to the embodiments of our invention arecompact, intuitive, factored representation for sequences of images,which separate spatially varying aspects from temporal variation. Therepresentations enable a number of novel applications, such as shadowremoval, relighting, advanced image editing, and painterly rendering.

Moving objects show up as residue between the original and reconstructedimage sequences. Moving objects can be removed from the input video 101using conventional dynamic object tracking and segmentation procedures,and then added back into the reconstructed sequence 151.

Although the invention has been described by way of examples ofpreferred embodiments, it is to be understood that various otheradaptations and modifications can be made within the spirit and scope ofthe invention. The specification and drawings are, accordingly, to beregarded in an illustrative rather than a restrictive sense. Therefore,it is the object of the appended claims to cover all such variations andmodifications as come within the true spirit and scope of the invention.

1. A method for factorizing a sequence of images acquired of a sceneinto lighting components, in which the scene is illuminated by a movinglight source, comprising: constructing, an appearance profile for eachpixel in the sequence of images, in which the appearance profile is avector representing intensities of the pixel at instances in time; andfactorizing the appearance profiles into a shadow component, a skylightcomponent, and a sunlight component.
 2. The method of claim 1, in whichthe factorizing further comprising: generating, from the appearanceprofile for each pixel, a corresponding shadow profile, in which theshadow profile indicates whether the pixel is in a shadow or not at theinstances in time, and the shadow profiles represent the shadowcomponent; generating, from the appearance profiles, a sunlight image ina form of sunlight weights and an offset image, and for each pixel a setof sunlight basis matrices at the instances in time, to represent thesunlight component; and generating, from the appearance profiles, askylight image in a form of skylight weights, and for each pixel a setof skylight basis matrices at the instances in time, to represent theskylight component.
 3. The method of claim 1, in which the scene isoutdoors, and the moving light source is the sun.
 4. The method of claim1, in which the sequence of images is a time-lapse video.
 5. The methodof claim 1, in which the scene is indoors.
 6. The method of claim 1, inwhich each pixel has three color channels, and constructing andfactorizing is performed independently and identically for each colorchannel.
 7. The method of claim 1, further comprising: combining theshadow component, the skylight component, and the sunlight component toproduce a reconstructed video.
 8. The method of claim 7, furthercomprising: editing the shadow component, the skylight component, andthe sunlight component before the combining.
 9. The method of claim 1,in which each shadow profile has one bit for each image in the sequenceto indicate whether the pixel is in a shadow or not at the instances intime.
 10. The method of claim 2, in which the shadow profiles form asequence of binary shadow images.
 11. The method of claim 10, furthercomprising: applying an edge-preserving bi-lateral filter to sequence ofshadow images.
 12. The method of claim 10, further comprising: removingmoving objects from the sequence of shadow images.
 13. The method ofclaim 2, in which each pixel in the offset image approximate a surfacenormal in the scene.
 14. The method of claim 13, in which the surfacenormals represent geometry of the scene.
 15. The method of claim 2, inwhich the factorizing uses an alternating constrained least squaresprocedure to decompose the appearance profiles into the sets ofmatrices.